package com.domus.dreamMenu.resource;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Resources {
	public static int portaNoClienteQueRecebeNotificacao;
	public static int portaUsadaEmRMI;
	public static String enderecoIpDoServidor;
	public static String enderecoIpDoCliente;
	public static int portaUsadaEmRMICozinha;
	public static String enderecoIpDaCozinha;
	public static String rmiServidor;
	public static String rmiCozinha;
	
	static{
		try {
			BufferedReader br = new BufferedReader(new FileReader("resources.txt"));
			String linha;
			while((linha = br.readLine())!=null){
				if(linha.startsWith("enderecoIpDoServidor")){
					enderecoIpDoServidor = getValor(linha);
				}else
				if(linha.startsWith("portaUsadaEmRMICozinha")){
					portaUsadaEmRMICozinha = Integer.parseInt(getValor(linha));
				}
				else
				if(linha.startsWith("portaUsadaEmRMI")){
					portaUsadaEmRMI = Integer.parseInt(getValor(linha));
				}else
				if(linha.startsWith("portaNoClienteQueRecebeNotificacao")){
					portaNoClienteQueRecebeNotificacao = Integer.parseInt(getValor(linha));
				}else
				if(linha.startsWith("enderecoIpDoCliente")){
					enderecoIpDoCliente = getValor(linha);
				}else
				if(linha.startsWith("enderecoIpDaCozinha")){
					enderecoIpDaCozinha = getValor(linha);
				}
			}
			rmiServidor = "rmi://"+Resources.enderecoIpDoServidor+":"+Resources.portaUsadaEmRMI+"/Servidor";
			rmiCozinha = "rmi://"+Resources.enderecoIpDaCozinha+":"+Resources.portaUsadaEmRMICozinha+"/Cozinha";
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private static String getValor(String linha){
		String retorno = "";
		boolean axouDoisPontos = false;
		for(char c : linha.toCharArray()){
			if(c==':'){
				axouDoisPontos = true;
			}else if(axouDoisPontos && c!=' '){
				retorno = retorno + String.valueOf(c);
			}
		}
		return retorno;
	}

}
